package com.sd365.permission.centre.service;

import com.sd365.permission.centre.entity.User;
import com.sd365.permission.centre.pojo.dto.UserOnlineDTO;
import com.sd365.permission.centre.pojo.query.UserOnlineQuery;

import javax.validation.constraints.NotEmpty;
import java.util.List;

/**
 * @Description: 用户在线管理服务
 * @Author: WengYu
 * @CreateTime: 2022/06/22 16:53
 */
public interface UserOnlineService {



  /**
   * 获取所有在线的用户
   * @author TangZaoBang
   * @date 2023/06/05 17:06
   * @param userOnlineQuery
   * @return java.util.List<com.sd365.permission.centre.pojo.dto.UserOnlineDTO>
   */
    List<UserOnlineDTO> getOnlineUsers(UserOnlineQuery userOnlineQuery);

   /**
    * 强制退出登陆
    * @author TangZaoBang
    * @date 2023/06/05 17:06
    * @param ids
    * @return void
    */
    void forceLogout(@NotEmpty String ids);



    /**
     * 在用户登陆的时候保存用户信息
     * @author TangZaoBang
     * @date 2023/06/05 17:06
     * @param user
     * @return void
     */
    void saveLoginInfo(User user);
}
